Skip to content

fix(release): require clean provenance for every artifact - #103

Merged
jamiesun merged 1 commit into
mainfrom
fix/release-clean-provenance
Oct 27, 2026
Merged

jamiesun merged 1 commit into
mainfrom
fix/release-clean-provenance

Conversation

@jamiesun

Copy link
Copy Markdown
Contributor

Summary

  • Ignore release dist output so earlier archives cannot taint later binary VCS metadata.
  • Fail before signing/publishing unless every binary has vcs.modified=false and the exact release revision.
  • Prepare v0.20.1; do not overwrite v0.20.0. Runtime fixes and Go 1.26.10 are unchanged.

Verification

  • Reproduced v0.20.0: first artifact clean, later artifact dirty.
  • Two sequential builds in an isolated clean Git fixture both now record clean provenance.
  • Pre-commit and pre-push full tests/race/build/lint passed.

Bugfix reflection

Bug class: generated release files contaminated VCS metadata.
Missing invariant: every signed artifact must describe a clean, exact source revision.
Regression: mandatory assertion on each release binary before publication.
Docs: versioned changelog and manifests updated.

Ignore release output and reject dirty or mismatched VCS metadata before signing. Prepare v0.20.1 without replacing the published v0.20.0 artifacts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamiesun
jamiesun merged commit 0cc8e17 into main Oct 27, 2026
11 checks passed
@jamiesun
jamiesun deleted the fix/release-clean-provenance branch October 27, 2026 04:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant